<?php
class carrito_orden {

 var $id;
 var $array_id;
 var $array_nombre;
 var $array_apellido;
 var $array_rut;
 var $array_telefono;
 var $array_direccion;
 var $array_num_direccion;
 var $array_depto;
 var $array_comuna;
 var $array_id_comuna;
 var $array_contacto;
 var $array_correo;
 var $array_num_caja; 
 var $array_num_sobre;
 var $array_num_valija;
 var $array_num_factura;
 //var $array_num_cobranza;
 var $array_tipo_envio;
 var $array_instrucciones_esp;
 var $array_num_orden;
 var $array_eliminado;
 
    //Constructor
    function carrito_orden()
    {
        $this->id = 0;
        $this->array_id = array();
        $this->array_nombre = array();
        $this->array_apellido = array();
        $this->array_rut = array();
        $this->array_telefono = array();
        $this->array_direccion = array();
        $this->array_num_direccion = array();
        $this->array_depto = array();
        $this->array_comuna = array();
        $this->array_id_comuna = array();
        $this->array_contacto = array();
        $this->array_correo = array();
        $this->array_num_caja = array();
        $this->array_num_sobre = array();
        $this->array_num_valija = array();
        $this->array_num_factura = array();
        //$this->array_num_cobranza = array();
        $this->array_tipo_envio = array();
        $this->array_instrucciones_esp = array();
        $this->array_id_cliente = array();
        $this->array_eliminado = array();
        
    }
   
    function incrementaId()
    {
        $this->id++;
    }
   
    function setId($id,$idNuevo)
    {
       $this->array_id[$id] = $idNuevo;
    }
    
     function setIdCliente($idCliente,$id)
    {
       $this->array_id_cliente[$id] = $idCliente;
    }
    
    function setNombre($nombre,$id)
    {
        $this->array_nombre[$id] = $nombre;
    }
    
    function setApellido($apellido,$id)
    {
        $this->array_apellido[$id] = $apellido;
    }
    
    
    function setRut($rut,$id)
    {
        $this->array_rut[$id] = $rut;
    }
    
    //Establece numero de telefono de la orden de flete
    function setTelefono($telefono,$id)
    {
        $this->array_telefono[$id] = $telefono;
    }
    
    //Establece la direccion de la orden de flete
    function setDireccion($direccion,$id)
    {
        $this->array_direccion[$id] = $direccion;
    }
    
    //Establece la direccion de la orden de flete
    function setNumDireccion($numDireccion,$id)
    {
        $this->array_num_direccion[$id] = $numDireccion;
    }
    
    //Establece la direccion de la orden de flete
    function setDepto($depto,$id)
    {
        $this->array_depto[$id] = $depto;
    }
    
    //Establece el nombre de la comuna de la orden de flete
    function setComuna($comuna,$id)
    {
        $this->array_comuna[$id] = $comuna;
    }
    //Establece el codigo de comuna de la orden de flete
    function setIdComuna($idComuna,$id)
    {
        $this->array_id_comuna[$id] = $idComuna;
    }
    //Establece el contacto de la orden de flete
    function setContacto($contacto,$id)
    {
        $this->array_contacto[$id] = $contacto;
    }
    
    //Establece el contacto de la orden de flete
    function setCorreo($correo,$id)
    {
        $this->array_correo[$id] = $correo;
    }
    
    //Establece el numero de caja de la orden de flete
    function setCaja($numCaja,$id)
    {
        $this->array_num_caja[$id] = $numCaja;
    }
    
    //Establece el numero de sobre de la orden de flete
    function setSobre($numSobre,$id)
    {
        $this->array_num_sobre[$id] = $numSobre;
    }
    
    //Establece el numero de valijas de la orden de flete
    function setValija($numValija,$id)
    {
        $this->array_num_valija[$id] = $numValija;
    }
    
    //Establece cantidad de facturas
    function setFactura($numFactura,$id)
    {
        $this->array_num_factura[$id] = $numFactura;
    }
    
    //Establece el tipo de envio de la orden de flete
    function setTipoEnvio($tipoEnvio,$id)
    {
        $this->array_tipo_envio[$id] = $tipoEnvio;
    }
    
    //establece algun instruccion especial
    function setInstruccionesEsp($instruccionesEsp,$id)
    {
        $this->array_instrucciones_esp[$id] = $instruccionesEsp;
    }
    
    function getTipoEnvio($id)
    {
        return $this->array_tipo_envio[$id];
    }
    
    function getUltimoId()
    {
        return $this->id;
    }
    
    function getId($id)
    {
        return $this->array_id[$id];
    }
    
    function getIdCliente($id)
    {
        return $this->array_id_cliente[$id];
    }
    
    function getNombre($id)
    {
        return $this->array_nombre[$id];
    }
    
    function getApellido($id)
    {
        return $this->array_apellido[$id];
    }
    
    function getRut($id)
    {
        return $this->array_rut[$id];
    }
    
    function getTelefono($id)
    {
        return $this->array_telefono[$id];
    }
    
    function getDireccion($id)
    {
        return $this->array_direccion[$id];
    }
    
    function getNumDireccion($id)
    {
        return $this->array_num_direccion[$id];
    }
    
    function getDepto($id)
    {
        return $this->array_depto[$id];
    }
    
    function getComuna($id)
    {
        return $this->array_comuna[$id];
    }
    
    function getIdComuna($id)
    {
        return $this->array_id_comuna[$id];
    }
    
    function getContacto($id)
    {
        return $this->array_contacto[$id];
    }
    
    function getCorreo($id)
    {
        return $this->array_correo[$id];
    }
    
    function getCaja($id)
    {
        return $this->array_num_caja[$id];
    }
    
    function getSobre($id)
    {
        return $this->array_num_sobre[$id];
    }
    
    function getValija($id)
    {
        return $this->array_num_valija[$id];
    }
    
    function getFactura($id)
    {
        return $this->array_num_factura[$id];
    }
    
    function getInstruccionesEsp($id)
    {
        return $this->array_instrucciones_esp[$id];
    }
    
    function ingresa_orden($idCliente,$nombre,$apellido,$rut,$telefono,$direccion,$numDireccion,$depto,$comuna,$idComuna,$contacto,$correo,$tipoEnvio,$numCaja,$numSobre,$numValija,$numFactura,$instruccionesEsp)
    {
        $id = $this->getUltimoId();
        $this->setId($id,$id);
        $this->setIdCliente($idCliente,$id);
        $this->setNombre($nombre,$id);
        $this->setApellido($apellido,$id);
        $this->setRut($rut,$id);
        $this->setTelefono($telefono,$id);
        $this->setDireccion($direccion,$id);
        $this->setNumDireccion($numDireccion,$id);
        $this->setDepto($depto,$id);
        $this->setComuna($comuna,$id);
        $this->setIdComuna($idComuna,$id);
        $this->setContacto($contacto,$id);
        $this->setCorreo($correo,$id);
        $this->setTipoEnvio($tipoEnvio,$id);
        $this->setCaja($numCaja,$id);
        $this->setSobre($numSobre,$id);
        $this->setValija($numValija,$id);
        $this->setFactura($numFactura,$id);
        $this->setInstruccionesEsp($instruccionesEsp,$id);
        $this->incrementaId();
        $this->array_eliminado[$id] = 0;
        
    }
    
    function eliminar_orden($id)
    {
        //$this->setId($id,-1);
        $this->array_eliminado[$id] = 1;
        $this->setCaja(0,$id);
        $this->setSobre(0,$id);
        $this->setValija(0,$id);
        $this->setFactura(0,$id);
    }
    
    //Elimina la linea $i
    function lineaEliminada($i)
    {
        if( $this->array_eliminado[$i] == 0  )
            return false;
        else
            return true;
    }
    //Comprueba si eseta vacio el carrito
    function vacio()
    {
        $cont = 0;
        for($i = 0; $i < $this->getUltimoId(); $i++)
        {
            if($this->array_eliminado[$i] == 0 )
                $cont++;
        }
        
        if($cont > 0)
            return false;
        else
            return true;
    }
    

}
?>